The present invention relates generally to storage systems and, more particularly, to system and method for providing multiple collections of user-defined metadata for objects in storage system such as a replicated object storage system.
Most object storage systems have the ability to associate metadata (data about data) to objects ingested in the system. This metadata is utilized to annotate the objects by providing more descriptive information about the object. The additional metadata will provide the needed information to help the consumer identify objects with similar criteria for activities such as analytics and discovery, thereby creating self-describing objects. As objects become more self-describing, this allows for usage of the objects for many different purposes and consumers that may desire to provide additional metadata.
Current methods to associate metadata with objects consist of forming the information into well-defined formats such as XML or JSON and associating it to the object as a single entity. In order for multiple consumers to utilize and augment the metadata, there must be coordination with all producers and consumers as to the format of the metadata; this ensures no incompatibilities are created or other metadata is destroyed. The coordination of changes between multiple consumers/producers can be difficult to accomplish as the number of consumers/producers grows, as those consumers/producers could be from separate and competing companies/products.
Without a standard or capability for separation, different applications MUST still be aware that tags/headers could exist that have the same name, but generated by another software entity.